package com.howie.common.exception;

/**
 * @description: 系统状态码，封装为枚举类
 * @author: laizhenghua
 * @date: 2020/12/17 12:44
 */
/*
错误码和错误信息定义类
1. 错误码定义规则为5为数字
2. 前两位表示业务场景，最后三位表示错误码。例如：100001。10:通用 001:系统未知异常
3. 维护错误码后需要维护错误描述，将他们定义为枚举形式
错误码列表：
    001：参数格式校验
    10: 通用
    11: 商品
    12: 订单
    13: 购物车
    14: 物流
 */
public enum BizCodeEnum {
    // 1、提供当前枚举类对象
    VALID_EXCEPTION(10001,"参数格式校验失败"),
    UNKNOWN_EXCEPTION(10000,"系统未知异常"),MERGE_EXCEPTION(10002,"采购单已被领取，不能合并了哦"),
    PRODUCT_UP_EXCEPTION(11000,"商品上架异常")
    ;

    // 2、声明枚举类对象的属性
    private final Integer code;
    private final String message;

    // 3、构造器私有化
    private BizCodeEnum(Integer code,String message){
        this.code = code;
        this.message = message;
    }
    // 4、获取枚举类对象的属性

    public Integer getCode() {
        return this.code;
    }
    public String getMessage(){
        return this.message;
    }
}
